package com.lym.order.feign.fallback;

import com.lym.order.feign.ProductFeignClient;
import com.lym.product.bean.Product;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;


/**
 * 商品Feign客户端 降级实现/兜底实现
 */
@Component
public class ProductFeignClientFallback implements ProductFeignClient {

    /**
     * 根据商品ID查询商品信息的兜底回调方法
     *
     * @param id
     * @return
     */
    @Override
    public Product getProductById(Long id) {
        System.out.println("兜底回调 ...");

        // 模拟兜底商品信息,可以是默认数据、缓存数据、假数据...
        Product product = new Product();
        product.setId(id);
        product.setPrice(new BigDecimal(999999999));
        product.setProductName("商品 - " + id);
        product.setNum(0);

        return product;
    }

}
